"""
2020全国各省份人口数据可视化图
"""

#导包
import json
from pyecharts.charts import Map
from pyecharts.options import *

#读取数据文件
f = open("E:\python_resource\各省份人口数据.txt",'r',encoding='UTF-8')
data = f.read()
#关闭文件
f.close()

#转化数据格式
data_list = json.loads(data)
print(data_list)
#组装各省份名称以及人口为元组，一组一组放入列表中
final_list = []
for province_data_list in data_list:
    province_name = province_data_list['省份']
    province_population = province_data_list['人口']
    final_list.append((province_name , province_population))  #每封装一组就追加到列表中
print(final_list)
#绘制图表
my_map = Map()
my_map.add("2020全国各省份人口数量",final_list,'china')
#全局设置
my_map.set_global_opts(
    title_opts=TitleOpts(
        title='全国各省份人口数量'
    ),

    visualmap_opts=VisualMapOpts(
        is_show=True,#是否展示
        is_piecewise=True,#是否分段
        #设置人口分段在地图上的颜色
        pieces=[
            {'max':1000, 'label':'0~1000', 'color':'#CCFFFF'},
            {'min':1000, 'max':3000, 'label':'1000~3000', 'color':'#FFFF99'},
            {'min':3000, 'max':5000, 'label':'3000~5000', 'color':'#FF9966'},
            {'min':5000, 'max':7000, 'label': '5000~7000', 'color': '#FF6666'},
            {'min':7000,'max':9000, 'label':'7000~9000', 'color':'#CC3333'},
            {'min':9000, 'label':'9000+', 'color':'#990033'},

        ]
    )
)
#生成图表
my_map.render("全国人口数据可视化地图.html")